package com.azt.api.service;

import com.azt.api.pojo.*;
import com.azt.model.page.Pagination;
import com.azt.model.page.TPagination;

import java.util.List;
import java.util.Map;

public interface ProHotFloorService {
	List<ProHotFloor> getHotProductList(Map<String,String> params);

	/**
	 * 加载爆品
     */
	TPagination<ProHotProductShow> listHotProduct(int page, int size, Map<String, Object> condition);
	
	public void addHotProduct(ProHotFloor proHotFloor);
	
	//获取楼层集合
	public List<Integer> getFloors();
	
	public Pagination findCenProduct(int pageno, int pagesize,Map<String, String> params);

	void saveHotFloor(ProHotFloor hotFloor);

	void insertHotProduct(ProHotProduct hotProduct);

	ProHotProduct getHotProduct(int floorId, int productId);

    ProHotFloor getHotFloorById(int floorId);

	ProHotFloor getHotFloorAndProducts(Integer floorId);

	List<ProHotProduct> findHotProductByFloorId(int floorId);

	/**
	 * 保存首页爆品
     */
	void saveHotShopProduct(List<ProShopHotProduct> products);

	/**
	 * 查询首页爆品商品
     */
	List<ProShopHotProductVO> getHotShopProducts();

	/**
	 * 查询所有楼层
     */
	List<ProHotFloor> listProHotFloor();

	/**
	 * 更新 hot floor 包括商品
     */
	void updateHotFloor(ProHotFloor proHotFloor);

	/**
	 * 该楼层爆品有没有在首页中
     */
	String isHotProductInIndex(Integer floorId);

	/**
	 * 判断商品在不在其他楼层
     */
	String isHotProductInOtherFloor(Integer floorId, List<Integer> productIds);

	List<Integer> listShopHotProductIds();

	public void deleteHotFloorById(int floorId);
}
